package com.beiben.trialproduce.samplecar.mapper;

import java.util.List;

import com.beiben.experiment.equipment.domain.Equipment;
import com.beiben.system.file.domain.File;
import com.beiben.trialproduce.samplecar.domain.SampleCar;
import com.beiben.trialproduce.samplecar.domain.SampleCarExcelVo;
import org.apache.ibatis.annotations.Param;

/**
 * 样车Mapper接口
 * 
 * @author 熊国强
 * @date 2020-11-18
 */
public interface SampleCarMapper 
{
    /**
     * 查询样车
     * 
     * @param carId 样车ID
     * @return 样车
     */
    public SampleCar selectSampleCarById(Long carId);

    /**
     * 查询样车列表
     * 
     * @param sampleCar 样车
     * @return 样车集合
     */
    public List<SampleCar> selectSampleCarList(SampleCar sampleCar);

    /**
     * 新增样车
     * 
     * @param sampleCar 样车
     * @return 结果
     */
    public int insertSampleCar(SampleCar sampleCar);

    /**
     * 修改样车
     * 
     * @param sampleCar 样车
     * @return 结果
     */
    public int updateSampleCar(SampleCar sampleCar);

    /**
     * 删除样车
     * 
     * @param carId 样车ID
     * @return 结果
     */
    public int deleteSampleCarById(Long carId);

    /**
     * 批量删除样车
     * 
     * @param carIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteSampleCarByIds(Long[] carIds);

    /**
     * 删除试验设备\计量设备信息
     *
     * @param code 试验设备\计量设备信息编码
     * @return 结果
     */
    public SampleCar selectSampleCarByYsNum(String code);

    /**
     * 导出样车列表
     *
     * @param sampleCar 样车
     * @return 样车集合
     */
    public List<SampleCarExcelVo> selectSampleCarExcelList(SampleCar sampleCar);

    /**
     * 修改样车状态
     *
     * @param ids 维修详情
     * @param carState 样车状态
     * @param carUseState 样车使用状态
     * @return 结果
     */
    public int updateSampleCarState(@Param("ids") Long [] ids,@Param("carState") String carState,@Param("carUseState") String carUseState);


}
